package com.wz.project.ssjin.controller;

import java.util.List;

import com.wz.project.ddjmsg.domain.MsgDdj;
import com.wz.project.ddjmsg.service.IMsgDdjService;
import com.wz.project.rkk.domain.MsgSsjRkk;
import com.wz.project.rkk.service.IMsgSsjRkkService;
import com.wz.project.rkrgv.domain.MsgRgvRk;
import com.wz.project.rkrgv.service.IMsgRgvRkService;
import com.wz.project.ssj.domain.MsgSsj;
import com.wz.project.tsj.domain.MsgTsj;
import com.wz.project.tsj.service.IMsgTsjService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.wz.framework.aspectj.lang.annotation.Log;
import com.wz.framework.aspectj.lang.enums.BusinessType;
import com.wz.project.ssjin.domain.MsgSsjRk;
import com.wz.project.ssjin.service.IMsgSsjRkService;
import com.wz.framework.web.controller.BaseController;
import com.wz.framework.web.domain.AjaxResult;
import com.wz.common.utils.poi.ExcelUtil;
import com.wz.framework.web.page.TableDataInfo;

/**
 * 入库输送机监控Controller
 * 
 * @author wz
 * @date 2023-12-26
 */
@Controller
@RequestMapping("/deviceInfoRk")
public class MsgSsjRkController extends BaseController
{
    private String prefix = "deviceInfoRk";

    @Autowired
    private IMsgSsjRkService msgSsjRkService;
    @Autowired
    private IMsgSsjRkkService msgSsjRkkService;


    @Autowired
    private IMsgTsjService msgTsjService;
    @Autowired
    private IMsgDdjService msgDdjService;

    @Autowired
    private IMsgRgvRkService msgRgvRkService;

    //入库端拆盘机
//    @RequiresPermissions("ssjin:ssjin:view")
    @GetMapping()
    public String ssjin()
    {
        return prefix + "/rkEcMsg";
    }

    /**
     * 三层入库端
     */
    @GetMapping("/rkScMsg")
    public String rkScMsg() {
        return prefix + "/rkScMsg";
    }

    /**
     * 入库端提升机
     */
    @GetMapping("/rkTsjMsg")
    public String rkTsjMsg() {
        return prefix + "/rkTsjMsg";
    }

    /**
     * 入库端提升机
     */
    @GetMapping("/rkCpjMsg")
    public String rkCpjMsg() {
        return prefix + "/rkCpjMsg";
    }




    //入库端二层
    @RequestMapping("/list21")
    @ResponseBody
    public TableDataInfo list21(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("XDKRK2");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    //入库端二层
    @RequestMapping("/list22")
    @ResponseBody
    public TableDataInfo list22(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("SSJRK2");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    //入库端二层
    @RequestMapping("/list23")
    @ResponseBody
    public TableDataInfo list23(MsgSsjRk msgSsjRk)
    {

        msgSsjRk.setDevId("XDKTP");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }

    //入库端二层
    @RequestMapping("/list24")
    @ResponseBody
    public TableDataInfo list24(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("SSJTP");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    //入库端二层
    @RequestMapping("/list25")
    @ResponseBody
    public TableDataInfo list25(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("TSJRGV2");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    @RequestMapping("/list26")
    @ResponseBody
    public TableDataInfo list26(MsgSsjRkk msgSsjRk)
    {
        msgSsjRk.setDevId("22");
        List<MsgSsjRkk> msgSsjRkks = msgSsjRkkService.selectMsgSsjRkkList(msgSsjRk);
        return getDataTable(msgSsjRkks);
    }

    //入库端三层
    @RequestMapping("/list31")
    @ResponseBody
    public TableDataInfo list31(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("XDKRK3");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    //入库端三层
    @RequestMapping("/list32")
    @ResponseBody
    public TableDataInfo list32(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("SSJRK3");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }

    //入库端二层
    @RequestMapping("/list35")
    @ResponseBody
    public TableDataInfo list35(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDevId("TSJRGV3");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    @RequestMapping("/list36")
    @ResponseBody
    public TableDataInfo list36(MsgSsjRkk msgSsjRk)
    {
        msgSsjRk.setDevId("32");
        List<MsgSsjRkk> list = msgSsjRkkService.selectMsgSsjRkkList(msgSsjRk);
        return getDataTable(list);
    }
    //入库端提升机
    @RequestMapping("/listtsj")
    @ResponseBody
    public TableDataInfo listtsj(MsgTsj msgTsj)
    {
        msgTsj.setName("入库");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    //入库端提升机
    @RequestMapping("/rkRgv")
    @ResponseBody
    public TableDataInfo rkRgv(MsgRgvRk msgDdj)
    {
        msgDdj.setName("入库RGV");
        List<MsgRgvRk> msgRgvRks = msgRgvRkService.selectMsgRgvRkList(msgDdj);
        return getDataTable(msgRgvRks);
    }

    @RequestMapping("/list4c")
    @ResponseBody
    public TableDataInfo list4c(MsgSsjRkk msgSsjRkk)
    {
        msgSsjRkk.setDevId("42");
        List<MsgSsjRkk> list = msgSsjRkkService.selectMsgSsjRkkList(msgSsjRkk);
        return getDataTable(list);
    }

    @RequestMapping("/list5c")
    @ResponseBody
    public TableDataInfo list5c(MsgSsjRkk msgSsjRk)
    {
        msgSsjRk.setDevId("52");
        List<MsgSsjRkk> list = msgSsjRkkService.selectMsgSsjRkkList(msgSsjRk);
        return getDataTable(list);
    }

    //拆盘机
    @RequestMapping("/listcpj")
    @ResponseBody
    public TableDataInfo listcpj(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDtype("21");
        msgSsjRk.setDevName("2层");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }

    @RequestMapping("/listcpj1")
    @ResponseBody
    public TableDataInfo listcpj1(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDtype("21");
        msgSsjRk.setDevName("3层");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }

    @RequestMapping("/listcpj2")
    @ResponseBody
    public TableDataInfo listcpj2(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDtype("21");
        msgSsjRk.setDevName("4层");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }

    @RequestMapping("/listcpj3")
    @ResponseBody
    public TableDataInfo listcpj3(MsgSsjRk msgSsjRk)
    {
        msgSsjRk.setDtype("21");
        msgSsjRk.setDevName("5层");
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        return getDataTable(list);
    }
    //一层输送机
    @RequestMapping("/yiceng")
    @ResponseBody
    public TableDataInfo yiceng(MsgSsjRkk msgSsjRk)
    {
        msgSsjRk.setDevName("一楼入库口");
        List<MsgSsjRkk> list = msgSsjRkkService.selectMsgSsjRkkList(msgSsjRk);
        return getDataTable(list);
    }

    /**
     * 导出入库输送机监控列表
     */
//    @RequiresPermissions("ssjin:ssjin:export")
    @Log(title = "入库输送机监控", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(MsgSsjRk msgSsjRk)
    {
        List<MsgSsjRk> list = msgSsjRkService.selectMsgSsjRkList(msgSsjRk);
        ExcelUtil<MsgSsjRk> util = new ExcelUtil<MsgSsjRk>(MsgSsjRk.class);
        return util.exportExcel(list, "ssjin");
    }

    /**
     * 新增入库输送机监控
     */
    @GetMapping("/add")
    public String add()
    {
        return prefix + "/add";
    }

    /**
     * 新增保存入库输送机监控
     */
    @RequiresPermissions("ssjin:ssjin:add")
    @Log(title = "入库输送机监控", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(MsgSsjRk msgSsjRk)
    {
        return toAjax(msgSsjRkService.insertMsgSsjRk(msgSsjRk));
    }

    /**
     * 修改入库输送机监控
     */
    @GetMapping("/edit/{devId}")
    public String edit(@PathVariable("devId") String devId, ModelMap mmap)
    {
        MsgSsjRk msgSsjRk = msgSsjRkService.selectMsgSsjRkById(devId);
        mmap.put("msgSsjRk", msgSsjRk);
        return prefix + "/edit";
    }

    /**
     * 修改保存入库输送机监控
     */
    @RequiresPermissions("ssjin:ssjin:edit")
    @Log(title = "入库输送机监控", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(MsgSsjRk msgSsjRk)
    {
        return toAjax(msgSsjRkService.updateMsgSsjRk(msgSsjRk));
    }

    /**
     * 删除入库输送机监控
     */
    @RequiresPermissions("ssjin:ssjin:remove")
    @Log(title = "入库输送机监控", businessType = BusinessType.DELETE)
    @PostMapping( "/remove")
    @ResponseBody
    public AjaxResult remove(String ids)
    {
        return toAjax(msgSsjRkService.deleteMsgSsjRkByIds(ids));
    }



}
